package com.sinosoft.ebusiness.domain.elementManage;
// 采用工具 Hibernate Tools 3.2.4.GA (sinosoft version) 生成，请勿手工修改。

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Version;

import org.hibernate.annotations.GenericGenerator;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.sinosoft.ebusiness.domain.elementManage.GeProductStepViewitem;

/**
 * POJO类GeProductStepRule
 */
@Entity
@Table(name = "GE_PRODUCT_STEP_RULE")
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler"})
public class GeProductStepRule implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6420507605745947281L;


	/** 属性processroleid */
	private String processroleid;


	/** 属性geProductStepViewitem */
	private GeProductStepViewitem geProductStepViewitem;

	/** 属性role */
	private String role;

	/** 属性rolevalue */
	private String rolevalue;

	/**
	 * 类GeProductStepRule的默认构造方法
	 */
	public GeProductStepRule() {
	}

	/**
	 * 属性processroleid的getter方法
	 */
	@Id
	@Column(name = "PROCESSROLEID")
	@GenericGenerator(name = "UUIDGenerator", strategy = "uuid.hex")
	@GeneratedValue(generator = "UUIDGenerator")
	public String getProcessroleid() {
		return this.processroleid;
	}

	/**
	 * 属性processroleid的setter方法
	 */
	public void setProcessroleid(String processroleid) {
		this.processroleid = processroleid;
	}


	/**
	 * 属性geProductStepViewitem的getter方法
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({
			@JoinColumn(name = "ITEMCODE", referencedColumnName = "ITEMCODE"),
			@JoinColumn(name = "GROUPCODE", referencedColumnName = "GROUPCODE"),
			@JoinColumn(name = "PROCESSCODE", referencedColumnName = "PRODUCTCODE"),
			@JoinColumn(name = "PRODUCTCODE", referencedColumnName = "VERSION"),
			@JoinColumn(name = "VERSION", referencedColumnName = "PROCESSCODE") })
	@JsonBackReference
	public GeProductStepViewitem getGeProductStepViewitem() {
		return this.geProductStepViewitem;
	}

	/**
	 * 属性geProductStepViewitem的setter方法
	 */
	public void setGeProductStepViewitem(
			GeProductStepViewitem geProductStepViewitem) {
		this.geProductStepViewitem = geProductStepViewitem;
	}

	/**
	 * 属性role的getter方法
	 */

	@Column(name = "ROLE")
	public String getRole() {
		return this.role;
	}

	/**
	 * 属性role的setter方法
	 */
	public void setRole(String role) {
		this.role = role;
	}

	/**
	 * 属性rolevalue的getter方法
	 */

	@Column(name = "ROLEVALUE")
	public String getRolevalue() {
		return this.rolevalue;
	}

	/**
	 * 属性rolevalue的setter方法
	 */
	public void setRolevalue(String rolevalue) {
		this.rolevalue = rolevalue;
	}

}
